===============================================================================================
                                            !CPUTmpMon
                                           Version 2.00
===============================================================================================


WARNING: THIS PROGRAM IS DESIGNED TO RUN ON RISC OS SYSTEMS THAT USE THE OMAP34xx, OMAP35xx OR AM/DM37xx PROCESSORS (BEAGLEBOARD, IGEPv2, DEVKIT8000). DO NOT TRY TO RUN IT ON ANY OTHER MACHINE OR BAD THINGS MAY HAPPEN. 


DISCLAIMER: THIS PROGRAM PERFORMS DIRECT HARDWARE ACCESS AND COULD POTENTIALLY CAUSE ERRATIC BEHAVIOUR IN YOUR MACHINE. EVERY EFFORT HAS BEEN MADE TO ENSURE THERE ARE NO BUGS, BUT PLEASE DO NOT USE THIS PROGRAM AT THE SAME TIME AS MANIPULATING SENSITIVE OR VALUABLE DATA. THE AUTHOR CAN TAKE NO RESPONSIBILITY FOR DAMAGE TO HARDWARE OR DATA THROUGH THE USE OF THIS SOFTWARE.


===== Description =====

!CPUTmpMon ("CPU Temperature Monitor") is a small utility program that sits on the iconbar and gives a "continuous" display of the OMAP35xx (or, in theory, OMAP34xx) or AM/DM37xx silicon temperature, as reported by the device. In fact, the display isn't truly continuous; it's updated at regular intervals that can be set to any desired value with a one second granularity.

The measured temperature can also be logged to a file (at an optionally different rate) using the !SysLog application (http://compton.nu/riscos/syslog/).


===== Usage =====

Double-click on the !CPUTmpMon icon in a filer window to run it. The CPU temperature should then appear in a box on the right-hand side of the iconbar. It will stay there and update itself as long as the program is running.

There is no iconbar menu yet! The program has to be quit via the Task Manager.

The update frequency of the display can be altered by changing the value of _Display_Interval% in the !RunImage file.

==== Logging ====

Logging is off by default. It can be turned on by setting _Logging% to TRUE in the !RunImage file. Please ensure !SysLog is running _before_ running !CPUTmpMon, otherwise logging will be silently disabled.

The update frequency of the display can be altered by changing the value of _Log_Interval% in the !RunImage file.


===== Caveats =====

The temperature reported by the device is only accurate to within a range. The displayed temperature is actually the mid-point between the lower and upper bounds of that range. Because the temperature is quantised by the A-to-D converter on the chip, the temperature will appear to jump from one value to the next.


===== Future Improvements =====

A user interface! A basic iconbar menu allowing logging to be turned on and off, and the update intervals for display and logging to be set.


===== Bugs =====

Please report any bugs to cputmpmon@willowroom.co.uk


===== Acknowledgements =====

Thanks go to Jeffrey Lee for digging through the OMAP TRM to find the relevant registers that perform the temperature sensing operation. And for porting RISC OS to the hardware in the first place of course! Thanks also to Chris Gransden for spotting the subtle difference in the register usage on the DM37xx.


===== Change Log =====

Version 2.00 (02.10.2010)   Added support for AM/DM37xx SoCs, and potential to support other hardware in the future. Fixed bug where app. didn't quit on CTRL-SHIFT-F12.

Version 1.00 (20.04.2010)   Initial release.